|
Emplacement du menu |
---|
Aucun |
Ateliers |
Tous |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.17 |
Voir aussi |
Std Groupe, PartDesign Corps |
Std Part (appelé en interne App Part) est un conteneur à usage général qui regroupe un groupe d'objets de manière à ce qu'ils puissent être déplacés ensemble en tant qu'unité dans la vue 3D.
L'élément Std Part a été développé pour être le bloc de construction de base pour créer des assemblages mécaniques. En particulier, il est conçu pour organiser les objets qui ont une Part TopoShape, comme des Part Primitives, des PartDesign Corps et autres Part Features. Std Part génère un objet Origin avec des axes X, Y et Z locaux et des plans standards, qui peuvent être utilisés comme référence pour positionner les objets contenus. De plus, des Std Parts peuvent être imbriquées dans d'autres Std Parts pour créer un grand assemblage à partir de sous-assemblages plus petits.
Bien qu'il soit principalement destiné aux corps solides, Std Part peut être utilisé pour gérer tout objet possédant une propriété de Positionnement, elle peut donc également contenir des Mesh Features, des Esquisses et d'autres objets dérivés de la classe App GeoFeature.
Ne confondez pas le PartDesign Corps avec
Std Part. Le premier est un objet spécifique utilisé dans l'
atelier PartDesign, destiné à modéliser un solide contigu unique au moyen de PartDesign Features. En revanche, Std Part n'est pas utilisée pour la modélisation, juste pour arranger différents objets dans l'espace, avec l'intention de créer des assemblages.
L'outil Std Part n'est pas défini par un atelier particulier mais par le système de base. Il se trouve donc dans la structure toolbar qui est disponible dans tous les ateliers. Pour regrouper des objets arbitrairement sans tenir compte de leur position, utilisez
Std Groupe. Cet objet n'affecte pas les placements des éléments qu'il contient, c'est juste un dossier qui sert à garder la vue en arborescence organisée.
À gauche : éléments à l'intérieur d'un Std Part dans la vue en arborescence.
À droite : les objets positionnés dans l'espace et référencés par rapport à l'origine de Std Part.
Std Part, appelé en interne App Part (classe App::Part
), est dérivé de App GeoFeature (classe App::GeoFeature
) et hérite de toutes ses propriétés. Il possède également plusieurs propriétés supplémentaires, notamment des propriétés qui l'aident à gérer les informations dans le contexte d'un assemblage, par exemple, DonnéesType, DonnéesId, DonnéesLicense, DonnéesLicenseURL et DonnéesGroup.
Ce sont les propriétés disponibles dans l'éditeur de propriétés. Les propriétés masquées peuvent être affichées en utilisant la commande Tout afficher dans le menu contextuel de l'éditeur de propriétés.
Base
String
) : une description pour cet objet. Par défaut, il s'agit d'une chaîne vide ""
.Link
) : le matériau de cet objet.Map
) : avec des méta-informations supplémentaires. Par défaut, il est vide {}
.String
) : une identification ou un numéro de pièce pour cet objet. Par défaut, il s'agit d'une chaîne vide ""
.UUID
) : l'identificateur unique et universel (UUID) (numéro de 128 bits) de l'objet. Il est attribué au moment de la création.String
) : champ permettant de spécifier la licence de cet objet. Par défaut, il s'agit d'une chaîne vide ""
.String
) : champ permettant de spécifier l'adresse web de la licence ou du contrat pour cet objet. Par défaut, il s'agit d'une chaîne vide ""
.Color
) : un tuple de quatre valeurs RGBA à virgule flottante (r,g,b,a)
pour définir la couleur de l'objet ; par défaut, il s'agit de (1.0, 1.0, 1.0, 1.0)
, qui s'affiche comme [255,255,255]
sur la base 255, couleur blanche.Placement
) : la position de l'objet dans la Vue 3D. L'emplacement est défini par un point Base
(vecteur) et un Rotation
(axe et angle). Voir Placement.
0°
. (zéro degré).0
et 1
. Si une valeur est supérieure à 1
, le vecteur est normalisé de manière à ce que sa magnitude soit 1
. Par défaut, il s'agit de l'axe Z positif, (0, 0, 1)
.(0, 0, 0)
.String
) : le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire.String
) : une description plus longue, modifiable par l'utilisateur, de cet objet. Il s'agit d'une chaîne UTF8 arbitraire qui peut inclure des nouvelles lignes. Par défaut, il s'agit d'une chaîne vide ""
.ExpressionEngine
) : une liste d'expressions. Par défaut, elle est vide []
.Bool
) : affichage ou non l'objet.Link
) : l'objet App Origin qui sert de référence positionnelle pour tous les éléments énumérés dans DonnéesGroup.LinkList
) : une liste d'objets référencés. Par défaut, elle est vide []
.Bool
) : indique si le groupe est touché ou non.
Display Options
Enumeration
) : Group
.Bool
) : si la valeur est true
, l'objet apparaît dans la vue en arborescence, sinon il est mis comme invisible.Bool
) : si elle est true
, l'objet apparaît dans la vue 3D, sinon il est invisible. Par défaut, cette propriété peut être activée ou désactivée en appuyant sur la barre Espace du clavier.Selection
Enumeration
) : Disabled
(par défaut) (par défaut), Enabled
, Object
, Element
.Enumeration
) : Shape
. (par défaut), BoundBox
. Si l'option est Shape
, la forme entière (sommets, arêtes et faces) sera mise en évidence dans la vue 3D. Si elle est BoundBox
, seule la boîte de délimitation sera mise en évidence.
Un document ouvert peut contenir plusieurs parties. Mais une seule pièce peut être active. La partie active est affichée dans la vue en arborescence avec la couleur de fond spécifiée par la valeur Contenant actif dans l'éditeur de préférences (par défaut, bleu clair). Il sera également affiché avec du texte en gras.
Pour activer ou désactiver un Part :
Document avec deux Std Parts, dont le second est actif.
L'origine se compose des trois axes standard (X, Y, Z) et de trois plans standard (XY, XZ et YZ). Les esquisses et d'autres objets peuvent être attachés à ces éléments lors de leur création.
À gauche : Part Origin dans la vue en arborescence.
À droite : représentation des éléments Origin dans la vue 3D.
Remarque : L'origine est un App Origin objet (de classe App::Origin
) tandis que les axes et les plans sont respectivement des objets de type App::Line
et App::Plane
. Chacun de ces éléments peut être masqué et non masqué individuellement avec la barre Espace. Cela est utile pour choisir la référence correcte lors de la création d'autres objets.
Remarque 2 : tous les éléments à l'intérieur du Part sont référencés à l'origine du Part, ce qui signifie que le Part peut être déplacé et tourné en référence au système de coordonnées global sans affecter le placement des éléments à l'intérieur.
La visibilité d'un Part remplace la visibilité de tout objet qu'elle contient. Si Part est masqué, les objets qu'il contient seront également masqués, même si leur propriété individuelle VueVisibility est définie sur true
. Si Part est visible, la VueVisibility de chaque objet détermine si l'objet est affiché ou non.
La visibilité de Std Part détermine si les objets regroupés sous lui sont affichés dans la vue 3D ou non.
À gauche : Part est masqué, donc aucun des objets ne sera affiché dans la vue 3D.
À droite : Part est visible, donc chaque objet contrôle sa propre visibilité.
Voir aussi : Débuter avec les scripts et Objets créés par script.
Voir Part Feature pour les informations générales sur l'ajout d'objets au document.
Std Part (App Part) est créé avec la méthode addObject()
du document. Une fois que Part existe, d'autres objets peuvent y être ajoutés avec les méthodes addObject()
ou addObjects()
.
import FreeCAD as App
doc = App.newDocument()
part = App.ActiveDocument.addObject("App::Part", "Part")
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")
part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()
Vous ne pouvez pas créer un App::Part
scripté. Cependant, vous pouvez ajouter un comportement App::Part
à un objet Part::FeaturePython
scripté en utilisant le code suivant :
class MyGroup(object):
def __init__(self, obj=None):
self.Object = obj
if obj:
self.attach(obj)
def dumps(self):
return
def loads(self, _state):
return
def attach(self, obj):
obj.addExtension("App::OriginGroupExtensionPython")
obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")
def onDocumentRestored(self, obj):
self.Object = obj
class ViewProviderMyGroup(object):
def __init__(self, vobj=None):
if vobj:
vobj.Proxy = self
self.attach(vobj)
else:
self.ViewObject = None
def attach(self, vobj):
vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
self.ViewObject = vobj
def dumps(self):
return None
def loads(self, _state):
return None
App.ActiveDocument.addObject("Part::FeaturePython",
"Group",
MyGroup(),
ViewProviderMyGroup(),
True)